2.
   2021
/  
 
(C++         )
: 3     :75
:    -    ,        
             
1.         ?     
   ?             
       
2. ()      ?    
()  -               
    ?
3.          ?    
       ?
4.    
        
 '       
5.    ?         A     : 37, 52,
28, 75, 61, 24, 9, 59  A          
 ' 
2.
6. Quick Sort           ' 

7. (A)    ? C++          ?
()         ?
()        
8.    ?       ?  
            
  
      

  
2.
   2021
/  
 
(C++         )
: 3     :75
:    -    ,        
             
1.         ?     
   ?             
       
:1.   ?
   
        
10     
name1, name2, name3,        ,  ,   
   
               
     

              (-)   ' 
           1000 ' ,    1002, 1004,
1006... (2-      ) '   

 
 ?
        
        
 , ,        
 
2.
      

                 ( )
         
2.   
       :
A. -  (1D )
 1D          : int marks[5];  5 

 : marks[0], marks[1], … marks[4]

     :

0
1
2
3
4

50
60
72
85
90
       
B. -  (2D, 3D, )
 2D              : int a[3][4];
      3   4   ,   
  :
C0
1
2
0
1
2
  3D  (  )    ,         
  
3.         
2.
  2D       ,     ,    
   
              ?
    '           
  :
A. -  (C, C++, Java, Python    )
         ,      ,    
 ,  
[3][3]
1 2 3
4 5 6
7 8 9
-   :
1 2 3 4 5 6 7 8 9
B. -  (, MATLAB   )
,      
     :
1 4 7 2 5 8 3 6 9
4. 2D  ()  - 
-  :
 A[i][j]   :
LOC(A[i][j]) =   + [ (i ×   ) + j ] ×    
:
2.
i =   
j =  
   =    
SizeOfEachElement =     (  int  4 )

    A[3][3] ,    ( 4 )
  = 1000A[1][2]   
   :
LOC = 1000 + [ (1 × 3) + 2 ] × 4 = 1000 + (3 + 2) × 4 = 1000 + 5 × 4 = 1000 + 20 = 1020
  A[1][2] 1020  '   
5.          
 C        (
      
 )
     /  

1. 
  '       
2.   
3.    
 
#  <stdio.h>
 () {
  [100], , , ;
printf("    : ");
 ("%d", &n);
printf("  : ");
2.
 (int i=0; i<n; i++)
 ("%d",   [i]);
printf("      (0  %d ): ", n);
 ("%d", &pos);
printf("    :");
 ("%d",  );
//     
 (int i=n; i>pos; i--) {
[] = [-1];
}
arr[pos] = ;
++;
printf("   : ");
 (int i=0; i<n; i++)
 ("%d",  [i]);
 0;
}
     /  

1.       ,     
2.    1  
 
#  <stdio.h>
 () {
  [100], , ;
printf("    : ");
 ("%d", &n);
printf("  : ");
 (int i=0; i<n; i++)
2.
 ("%d",   [i]);
printf("     (0  %d): ", n-1);
 ("%d", &pos);
//    
 ( i=pos; i<n-1; i++) {
[] = [+1];
}
--;
printf("   : ");
 (int i=0; i<n; i++)
 ("%d",  [i]);
 0;
}

               , 
             
  
:
  ?
   (1D  -)
   -      
    - 
     
  , ,   , , ,         


 
2.
2. ()      ?    
()  -               
    ?
:󷈷󷈸󷈹󷈺󷈻󷈼-
 
     ,    -    :
          --
 ,             
    
    :      
,        
     , 
         
   '          ,  
 
󼫹󼫺 A:      
1.     ?
                ,
    '   
   
      
   100  ,   10   
   10,000  ,       
󷷑󷷒󷷓󷷔                
2. - 

  ' -           -   
             
  :
O(1):       ,      
O(log n):   -       
O(n):         
O(n²):          
3. :     
 
2.
          
    

  -         
 
 n  ,       
    
  : O(n)
󷷑󷷒󷷓󷷔 1,000  ,   1,000     
 
       

   :     ,  
   ; 
   ,  
   
       
  : O(log n)
󷷑󷷒󷷓󷷔 1,000  ,    10   
:
         
           
 
      
   -      
    
󼫹󼫺 :  
1.    ?
               
 
󷷑󷷒󷷓󷷔     :
          ,  
   
 '      ,  
             
2.    
(i)   
  :   , , ,  
:       
2.
(ii) -  
          :
a)   
       
:
o :  - 
o   :   
o : ,   (LIFO)
o : ,   (FIFO)
b) -  
         
:
o :  ( ,  )
o :   ,    
3.        
              :
(i)   
  , ,   ?
:      ,      
(ii) 
 
     ,     ?
:
o   ,     
o - / ,      
(iii)  
        
:  -      ;     
     
(iv)    
2.
         
:      O(n) ,        
O(log n) 
(v)   
  ?
:    ,           
  
(vi)    
        ,     
 
:        
󽆪󽆫󽆬
             ,   
       
     ,  
      
         '      -  
 
  ,         
 

            , 
  
       ,  ,     
3.          ?    
       ?
:1.   ?
           
   ,  

       
    ,  
   
 
 ; 
    
         
                   
:
2.
LIFO —   ,  
   :
   
  
 ,       

       
 

        
  -  
  
     (     )
  (
       )
 ' 
    '      :
1.  '    
2.    
  :
 /    
         

            ( -   
 )
 ,              - 
    
2.    ? (  )

  '      :
+ 
3 * (4 + 2)
(6 - 2) / 4
      ,   (+, -, *, /)    


      :
2.
      
  ,  ,  
    
     ,        :
1. ( )
2. (  )
    ?
  ,     
 
:
: A + B: AB+
: (3 + 4) * 5: 34+5*
: (6 - 2) / (1 + 1) : 62-11+/
     

     
  
?
             
 
      
(  * +   
 )
   
       
 ,     ,    
3.            ? (--
)
    
              
  
     ,  
   '   
     
 
    ,    
    ,     POP :
2.
o     
o     
o  
o     
 ,       ,     
4.     (  )
      :
23+5*
  : (2 + 3) * 5      
-- 



2
 
2
3
 
2, 3
+
 POP 3  2 →  2+3=5 → PUSH 5
5
5
 
5, 5
*
 POP 5  5 →  5*5=25 → PUSH 25
25
       : 25   
5.    ( )
:
462/+3*
  :
1.  4 → 
2.  6 → 
3.  2 → 
4.  / →  2  6 → 6/2 = 3 →  3Stack: 4, 3
5.  + →  3  4 → 4+3 = 7 →  7Stack: 7
6.  3 → : 7, 3
7.  * →  3  7 → 7 * 3 = 21 →  21
2.
  = 21
6.       
?
      '         
  
         
:

          
   

     
  (  ),    
  
         
 ,  +  =    
4.    
        
 '       
:󷈷󷈸󷈹󷈺󷈻󷈼-
  ,         - 
             (  ),   
                  
    -   ,    (FIFO)   '   
   
  
 '        
  
    ,       
      
         
        ,          
 ,   ' 
     -    ,   
  
󼫹󼫺  
        FIFO     :
   
           
2.
󷷑󷷒󷷓󷷔- :
  '  
        
    
󹶜󹶟󹶝󹶞󹶠󹶡󹶢󹶣󹶤󹶥󹶦󹶧  
        :
1.  -  -    
2.  -       
, 
  '    ,      
  
   
 
󹺰󹺱   
    :
        
      :
o ( )
o  (   )
     :
o       (    )
o   (        )   

󷷑󷷒󷷓󷷔         :
      
           
󽁌󽁍󽁎 ' 
            -  

1.  ()
       
:
1.        
2.
2.    ,           
3. 
,          
󷷑󷷒󷷓󷷔:
: [10 → 20 → 30]
 40 → [10 → 20 → 30 → 40]
   40    
2.  ()
      
 
:
1.         ,     
2. 
,     
3.           
󷷑󷷒󷷓󷷔:
: [10 → 20 → 30 → 40]
 → 10 → [20 → 30 → 40] 
 
  20    
3.   (  )
       
 
            
󷷑󷷒󷷓󷷔:
: [20 → 30 → 40]
  → 20   
4.   (      )
  = NULL      
:      
,  IsEmpty → True
5.   (       )
   ,    "" 
     

    ',  IsFull  

🖼-   
2.
  {
 ;
struct Node* ;
};
  {
 * ;
 * ;
};
//  
  enqueue(struct Queue* q, int ) {
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
 -> = ;
 -> = ;
 (q-> == NULL) {
q-> = q-> =  ;
;
}
q->-> =  ;
q-> =  ;
}
//  
 ( * q) {
 (q-> == NULL) {
printf(" ");
 -1;
}
struct Node* temp = q->;
  = ->;
q-> = q->->;
 (q-> == NULL) q-> = NULL;
();
 ;
}
󷷑󷷒󷷓󷷔  
              
󽆪󽆫󽆬
2.
                
  
 ,           
         , 
-  
       ,    ,     

 ,        
  -   , 
 
 ,       
5.    ?         A     : 37, 52,
28, 75, 61, 24, 9, 59  A          
 ' 
:   ?
        '        
,  
         -          
         , 
   '   
   :
 1    2  
  1  ,   
  2    3  ,      
   
     ',       '   '    -
       '     
    
  -       (-)   ,   
                ,    
     ' ""   
  
    ' Bubble Sort      :
A = [37, 52, 28, 75, 61, 24, 9, 59]

    
2.
  -    
    (-- )
 1

      :


   
37  52
37 < 52 →   
37, 52, 28, 75, 61, 24, 9, 59
52  28

37, 28, 52, 75, 61, 24, 9, 59
52  75
  
37, 28, 52, 75, 61, 24, 9, 59
75  61

37, 28, 52, 61, 75, 24, 9, 59
75  24

37, 28, 52, 61, 24, 75, 9, 59
75  9

37, 28, 52, 61, 24, 9, 75, 59
75  59

37, 28, 52, 61, 24, 9, 59, 75
 1  :
[37, 28, 52, 61, 24, 9, 59, 75]
    75    ' 
 2



37  28

28, 37, 52, 61, 24, 9, 59, 75
37  52
  
28, 37, 52, 61, 24, 9, 59, 75
52  61
  
28, 37, 52, 61, 24, 9, 59, 75
61  24

28, 37, 52, 24, 61, 9, 59, 75
61  9

28, 37, 52, 24, 9, 61, 59, 75
61  59

28, 37, 52, 24, 9, 59, 61, 75
 2  :
[28, 37, 52, 24, 9, 59, 61, 75]
     61   '  
 3
2.



28  37
  
28, 37, 52, 24, 9, 59, 61, 75
37  52
  
28, 37, 52, 24, 9, 59, 61, 75
52  24

28, 37, 24, 52, 9, 59, 61, 75
52  9

28, 37, 24, 9, 52, 59, 61, 75
52  59
  
28, 37, 24, 9, 52, 59, 61, 75
 3  :
[28, 37, 24, 9, 52, 59, 61, 75]
 4



28  37
  
28, 37, 24, 9, 52, 59, 61, 75
37  24

28, 24, 37, 9, 52, 59, 61, 75
37  9

28, 24, 9, 37, 52, 59, 61, 75
37  52
  
28, 24, 9, 37, 52, 59, 61, 75
 4  :
[28, 24, 9, 37, 52, 59, 61, 75]
 5



28  24

24, 28, 9, 37, 52, 59, 61, 75
28  9

24, 9, 28, 37, 52, 59, 61, 75
28  37
  
24, 9, 28, 37, 52, 59, 61, 75
 5  :
[24, 9, 28, 37, 52, 59, 61, 75]
 6



24  9

9, 24, 28, 37, 52, 59, 61, 75
24  28
  
9, 24, 28, 37, 52, 59, 61, 75
2.
 6  :
[9, 24, 28, 37, 52, 59, 61, 75]
 7



9  24
  
9, 24, 28, 37, 52, 59, 61, 75
 7  :
     
   
[9, 24, 28, 37, 52, 59, 61, 75]

        -    
  
-               ,   
-     ' ""   ,      
 '  
  , 
  '        -   -
  , -     
6. Quick Sort           ' 

:󷈷󷈸󷈹󷈺󷈻󷈼-
             
 
    ,        ,   
     ,     
    
 ,            
2.
     1960     ,       
                 
  -      ,   ,   

  --  ,        
 ,         
󼫹󼫺     
              
          
          
      
                 


󷷑󷷒󷷓󷷔     :    ()  ,  
                
      
 
󹶜󹶟󹶝󹶞󹶠󹶡󹶢󹶣󹶤󹶥󹶦󹶧   
    --  :
:  
1.      
2.    
o   ,  ,  ,      
3.  
o        :
       
      
4.      
5.        -  
6.          (  )
 
  
     :
[35, 12, 43, 8, 51]
2.
1.  = 35 
2. :
o  : [12, 8]
o : [35]
o  : [43, 51] → : [12, 8] [35] [43, 51]
3. [12, 8] '    :
o  = 12
o : [8], : [12], : [] → : [8, 12]
4. [43, 51] '    :
o  = 43
o : [], : [43], : [51] → : [43, 51]
5.   :
[8, 12, 35, 43, 51]
󷷑󷷒󷷓󷷔    !
󽁌󽁍󽁎   
(, , ):
  < :
 =  (, , )
(arr, low, pivotIndex - 1)
(arr, pivotIndex + 1, )
 (arr, , ):
pivot = arr[high] //   pivot  
i =  - 1
j =    - 1 :
 arr[j] <= :
i = i + 1
arr[i]  arr[j] 
arr[i + 1]  arr[high] 
 (i + 1)
󹵍󹵉󹵎󹵏󹵐   
        
1.    
          
  : O(n log n)
2.
: [10, 20, 30, 40, 50]         

2.  
       (    
,     
)
  : O(n log n)
     
3.    
           
            
  : O(n²)
:             [10, 20, 30, 40, 50]

󷷑󷷒󷷓󷷔      , 
        " 
"      (,       )
4.  
   -   (    
)
 :     O(log n)
󽆪󽆫󽆬
             
                , 
           ,      
   :   ,   
         -    
   
2.
7. (A)    ? C++          ?
()         ?
()        
:-
C++       -  (OOP)  
  OOP -            
-
        - , , ,  - C++   
      
          
          , C++ , 
 (/ ),          
  , 
OOP      :
1.       C++      
2.        
3.   
,     
()    ? C++         ?
   ?
C++            :
1.  () ,    ,      
2.  ()    , ,   
      ,          
           
   :
" "        :
: , , 
: (), (), ()
          
C++       
2.
, 
  
   
    
 
:
  {
//  
//  
};
 () {
 ; //  
}
:
  {
:
 ;
 ;
 () {
cout << ": " <<  << ", : " << ;
}
};
 () {
 c1; //  
c1.model = " ";
c1. = 180;
c1.show(); //      
}
      ?
C++    (.)        
objectName.dataMember
  . ()
:
c1.speed = 150; //    
c1.show(); //  
  C++          
2.
()         ?
C++ ,               
                
     :
1.  
                
           
:
 {
:
 () {}
};
, display() main()          
2.  
                 '  
         
 
:
 {
 :
;
};
 
 :
  ;
obj.secret = 10; // 
   

2.
  ( )




  (   + )
   

 (  )
()

    
   

/ 
   
 
 
 

   
     :
 (

     )
(), () (       )
           
(C)        
 OOP         
  ?
   ( )   ( )     
    
       ,  
 ,    
      
   
?
   :               
    :

2.

  
     -   , C++     ()
  , ,           
  :
1.    
  ,   
2.  ( )
    
3.  
         
4.    
  '    
   
 :
  {
:
 ;
 () {
cout << ": " << ;
}
};
 :
 :   {
:
 ;
};
   :
 () {
 c1;
c1.speed = 120; //    
c1.brand = "";
c1.showSpeed(); //    
2.
}
   ( )

               

 
           
           showSpeed()  ,  
   

              ,   C++
,         

C++  
-           
                
                
     ,      
      
        ,       
     
  ,   C++     -  
    

        
8.    ?       ?  
            
  
      

  
: 
  , 
        
 '    +, -, *,  ==          
 
   
 ,    , ,   
?    
  
 '   -    
?
       
         
   -      ,    
2.
 
         ,   
,
      ,   

 
󼫹󼫺   ?
 C++       -  
(    )           
󷷑󷷒󷷓󷷔  :
  ', +    
  , 
   +   ,    
,       
    '      
󷘹󷘴󷘵󷘶󷘷󷘸   
         :

  {
, ;
:
 ( r=0,  i=0): (r), (i) {}
  + (  &c) {
  ( + .,  + .);
}
};
,  
 :

 c1(2, 3), c2(4, 5);
 c3 = c1 + c2;
   ,     +    "     
"
󷷑󷷒󷷓󷷔   
 ,  -     
󼫹󼫺    
?
1.    
2.
o    ,  addComplex(c1, c2)    
 
o   , 
 c1 + c2  
o        
2. -   
o 
      +        
 

?
o   -  -   
     
3.   
o      ,      
 
o             
4. 
o 
   '        
o :     '        
 ==
󷷑󷷒󷷓󷷔 :     ,     


󼫹󼫺      
C++            :
1.  
+, -, *, /, %
:   ,    
2.  
==, !=, <, >, <=, >=
:         
3.  
&&, ||, !
:         
4.  
&, |, ^, ~, <<, >>
:   (cout)   <<
2.
5.  
=              
6. / 
++, -- (   )
7.  
[]             
8.   
()             
9.  
->, *        
󼫹󼫺   
  
   
         
 
   
  :
:: ( )
. ( )
.* (-- )
?: (  )
sizeof (  )
typeid (  )
󼫹󼫺   

  ?
1.    
o ::  .   C++          
 
o            
2.   
o  sizeof     ,       
o :            sizeof
    ,   -   
3.    
2.
o     ( ?:)       
o          ,  
 
󷷑󷷒󷷓󷷔 :     
      
      
 
󽆪󽆫󽆬
  C++          
   -       ,  
  
  ,     
  -     
 
             

 , 
    C++          
     
 -         
    ,   -     
"              
 
       ,       
 "